#ifndef __EV_INPUT_DATA_H__
#define __EV_INPUT_DATA_H__

#include<string>
#include<stdint.h>
#include"TimePoint.hpp"

namespace SC_SUN
{

//场景仿真输入信息类
//南航会提供基本信息输入，并进行部分信息替换
struct EvInputData
{

    ////////初始历元//////
    TimePoint mStartTime;

    ////////结束历元/////
    TimePoint mEndTime;

    // ////////建链信息//////
    // uint8_t SAT_LNK_FC;                         ///< 全链接（0-否、1是）
    // uint16_t SAT_LNK_PC;                        ///< 链接策略 1：分层 其他待定
    // double SAT_LNK_RL;                          ///< 建链距离约束,单位：千米

    ///////仿真参数设置///////
    double STP_MS;                              ///< 仿真步长

    ///////建链策略///////
    uint8_t SAT_LNK_FC;                         ///< 全链接
    uint16_t SAT_LNK_PC;                        ///< 链接策略
    double SAT_LNK_RD;                          ///< 距离约束
    double SAT_LNK_RV;                          ///< 速度约束
    double SAT_LNK_RAV;                         ///< 跟踪角速度
    double SAT_LNK_RH;                          ///< 最小临边高度
    uint8_t SAT_LNK_LN;                         ///< 单星最大连接数量

    ///////环境信息///////
    double ENV_FF;                              ///< F10.7指数
    double ENV_NE;                              ///< 电离层电子密度
    double ENV_NE_P[2];                         ///< 电离层电子密度经纬度
    double ENV_NE_H;                            ///< 电离层电子密度高度

    ///////星座信息///////
    //基本信息
    std::string CST;                            ///< 星座名称
    uint16_t CST_TNS;                           ///< 星座规模
    uint16_t CST_PLT;                           ///< 轨道面数量
    uint16_t CST_PFT;                           ///< 相位因子
    //星座基准星轨道信息
    double CST_SMA;                             ///< 半长轴
    double CST_ECC;                             ///< 偏心率
    double CST_INC;                             ///< 轨道倾角
    double CST_RAAN;                            ///< 升交点赤经
    double CST_AOP;                             ///< 近地点角距
    double CST_TA;                              ///< 真近点角
    //平台信息
    double CST_MASS;                            ///< 质量
    double CST_AAD;                             ///< 迎风面积
    double CST_ASR;                             ///< 受晒面积
    double CST_CD;                              ///< 阻力系数
    //载荷信息
    double SAT_ATN[3];                          ///< 天线安装位置
    double SAT_SQ;                              ///< 频率
    double SAT_HD;                              ///< 硬件延迟
};

}

#endif